package com.erp.service;

import com.erp.bean.Order;
import java.util.List;
import java.util.Set;

/**
 * @author lpy
 * 订单业务逻辑接口
 */
public interface OrderService {
    /**
     * 数据新增操作
     * @param order  封装数据的实体类对象
     * @return       操作结果
     */
    public boolean add(Order order);

    /**
     * 数据的整体修改(实体类对象一定要包含id信息)
     * @param order  封装数据的实体类对象
     * @return       操作结果
     */
    public boolean update(Order order);

    /**
     * 批量修改订单状态
     * @param oids 要修改的订单ID集合
     * @param sid  订单状态id
     * @return     操作结果
     */
    public boolean updateBatch(int sid,String... oids);

    /**
     * 根据id查询信息
     * @param  oid 订单编号
     * @return 实体类对象
     */
    public Order findById(String oid);

    /**
     * 查询全部
     * @return 全部数据集合
     */
    public List<Order> findAll();

    /**
     * 分页查询全部数据
     * @param currentPage 当前页
     * @param pageSize	  每页显示数据
     * @return 结果集合
     */
    public List<Order> findAllSpilt(Integer currentPage,Integer pageSize);

    /**
     * 模糊分页查询全部数据
     * @param currentPage 当前页
     * @param pageSize	  每页显示数据
     * @param column	  模糊查询列
     * @param keyWords	  模糊查询关键字
     * @return 结果集合
     */
    public List<Order> findAllSpilt(Integer currentPage,Integer pageSize,String column,String keyWords);

    /**
     * 进行数据表总数据量统计
     * @return count(*)函数的返回结果
     */
    public Long getAllCount();

    /**
     * 进行数据表的模糊查询数据量统计
     * @param colunm      指定模糊查询的数据列
     * @param keyWord     模糊查询关键字
     * @return count(colunm)函数的返回结果
     */
    public Long getAllCount(String colunm,String keyWord);
}
